Computer systems of nearly all levels of complexity need ways to store and retrieve projects, documents, game situations, and other application states. The importance of saving documents and files created using personal computers is so well understood that many applications include auto-save utilities to regularly back up files with which the user is working. As a result, even in the event of a power outage, a software failure, a system crash, or other type of system interruption, a user generally will not lose more than the few minutes of work that were performed since the last auto-save was executed.
Even the most simple computing systems provide a way to save data. For example, even cellular and personal communication systems (PCS) telephones that have built-in gaming software enable a user to save incomplete games for later retrieval and resumption. More sophisticated video games have evolved from requiring a user to write down an alphanumeric code to save a game, to providing memory card interfaces for this purpose, and, more recently, to include fixed disk drives in the game systems to save game states. Saving and retrieving are thus routine on computing systems of all types.
With the evolution of computing systems, the task of saving application states has become easier. Not long ago, to save a file or other application state, a user had to remember the specific function key or other key string that should be pressed to initiate a save command. The advent of graphical user interfaces and menu-driven software has simplified the save process for users. Users no longer have to remember specific key combinations to initiate the save command; instead, users can employ a mouse or other pointing device they might be using to choose the “File” menu from the menu bars at the top of their screens, and choose a “Save” option to save their application states.
Further evolution of the computer system exploits computer vision technology to facilitate human-machine interaction. For example, the MIT Media Lab, as reported by Brygg Ullmer and Hiroshi Ishii in “The metaDESK: Models and Prototypes for Tangible User Interfaces,” Proceedings of UIST 10/1997:14-17,” has developed another form of “keyboardless” machine interface. The metaDESK includes a generally planar graphical surface that not only displays computing system output, but also receives user input by recognizing pattern-encoded objects placed against the graphical surface. The graphical surface of the metaDESK is facilitated using infrared (IR) lamps, an IR camera, a video camera, a video projector, and mirrors disposed beneath the surface of the metaDESK. The mirrors reflect the graphical image projected by the projector onto the underside of the graphical display surface to provide images that are visible to a user from above the graphical display surface. The IR camera can detect IR reflections from the undersurface of the objects placed on the graphical surface.
Similarly, papers published by Jun Rekimoto of the Sony Computer Science Laboratory, Inc., and associates describe a “HoloWall” and a “HoloTable” that use IR light to detect objects. It should be noted that the papers describing the “HoloWall” and “HoloTable” generally are silent regarding the details and process used for detecting objects based upon the IR light reflected from the object.
Examples of other methods and systems for detecting and responding to objects placed on or near a graphical surface are used in inventions owned by the assignee of the present application. These inventions are described in co-pending U.S. patent applications for application Ser. No. 10/813,855 entitled “Template Matching On Interactive Surface,” application Ser. No. 10/814,577 entitled “Identification Of Object On Interactive Display Surface By Identifying Coded Pattern,” and application Ser. No. 10/814,761 entitled “Determining Connectedness And Offset Of 3D Objects Relative To An Interactive Surface,” all of which were filed on Mar. 31, 2004.
Although inventions such as the metaDESK and the other inventions previously listed respond to objects on the graphical display surface, it is significant that the metaDESK's response is to the contemporaneous placement and movement of the objects. There is no indication in the published literature that the metaDESK can associate temporal states of an application with an object placed on its graphical display surface or how such associations might be achieved. Clearly, it would be desirable to provide such an association, to enable application states to more conveniently be saved and subsequently recalled from storage.
Using the human-machine interfaces previously described, moving one's hands or other physical objects on or near to the graphical surface may replace keyboards, pointing devices, and other more conventional input devices. Nonetheless, the inception of such human-machine interfaces has not eliminated the need to save and retrieve files, documents, and application states. Thus, it would be desirable to provide a comparably intuitive, user-friendly manner to use such graphical surfaces to save and retrieve application states in association with objects that are detected on the graphical surface.